/*oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO*/
/*
Authors: Ram Ovadia 201374022 and Lior Fass 300069705
Project: HW Assignment 4 
Description: This is the main function of Oiway.  
*/
/*oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO*/

#include "Client.h"
#include "Server.h"
#include "common_utils.h"

int main(int argc, char *argv[])
{
	char ip_address[IP_ADDR_MAX];
	// test for input arguments
	if ( main_test_input(argc, argv) == 0 )
	{
		//change localhost to 127.0.0.1
		if (strcmp(argv[ADDRESS_ARG], LOCAL_HOST_S) == 0)
			strcpy(ip_address, LOCAL_HOST_A);
		else
			strcpy(ip_address, argv[2]);

		if ( strcmp((const char *)argv[SIDE_ARG], CLIENT_S) == 0 )
		{
			return client_main(ip_address, atoi(argv[C_COORD]), atoi(argv[C_COORD+1]), atoi(argv[C_COORD+2]), atoi(argv[C_COORD+3]), argv[C_LOG_ARG]);
		} 
		if ( strcmp((const char *)argv[SIDE_ARG], SERVER_S) == 0 )
		{
			return server_main(ip_address, argv[S_GRAPH_ARG], atoi(argv[S_MAXC_ARG]), argv[S_LOG_ARG]);
		}
	}
	return 1;
}

